/**
 * [88] 合并两个有序数组
 * concat => new Array
 *
 * @format
 * @lc app=leetcode.cn id=88 lang=javascript
 */

// @lc code=start
/**
 * @param {number[]} nums1
 * @param {number} m
 * @param {number[]} nums2
 * @param {number} n
 * @return {void} Do not return anything, modify nums1 in-place instead.
 */
var merge = function (nums1, m, nums2, n) {
    const nums = []
    for (let i = 0; i < m; i++) nums.push(nums1[i])
    let [i1, i2] = [0, 0]
    for (let i = 0; i < m + n; i++) {
        if (nums[i1] === undefined) {
            nums1[i] = nums2[i2]
            i2++
        } else if (nums2[i2] === undefined) {
            nums1[i] = nums[i1]
            i1++
        } else {
            nums[i1] < nums2[i2] ? ((nums1[i] = nums[i1]), i1++) : ((nums1[i] = nums2[i2]), i2++)
        }
    }
}
// debugger
// const nums1 = [2, 0]
// const nums2 = [1]
// const [m, n] = [1, 1]
// merge(nums1, m, nums2, n)
// console.log(nums1)
// @lc code=end
